/**
 * SPDX-FileCopyrightText: 2021-2024 Infineon Technologies AG
 * SPDX-License-Identifier: MIT
 *
 * \author Infineon Technologies AG
 *
 * \file data_object.c
 *
 * \brief   This file provides the data set for protected update of data object .
 *
 * \ingroup grOptigaExamples
 *
 * @{
 */

#include <stdint.h>

/**
 * Manifest when the payload is integrity protected
 */
const uint8_t manifest_int[] = {
    // COSE Sign1 Trust
    0x84,
    // Protected signed header trust
    0x43,
    // Trust Sign Algorithm
    0xA1,
    // ECDSA
    0x01,
    0x26,
    // Unprotected signed header trust
    0xA1,
    // Root of trust
    0x04,
    0x42,
    // Trust Anchor OID
    0xE0,
    0xE3,
    // Payload info Byte string of single byte length
    0x58,
    // Byte string length of manifest
    0x3D,
    // Trust manifest, array of 6 entries
    0x86,
    // Version(Major Type 0)
    0x01,
    // NULL
    0xF6,
    // NULL
    0xF6,
    // Resources, array of 4 entries
    0x84,
    // Trust Payload Type
    0x20,
    // 2 byte length
    0x19,
    // Payload Length
    0x02,
    0x92,
    // Trust Payload version
    0x03,
    // Trust Add info data
    0x82,
    // Offset(Major Type 0)
    0x00,
    // Trust add info write type
    0x01,
    // Trust Processors, array of 2 entries
    0x82,
    // Processing step integrity, array of 2 entries
    0x82,
    // Process(Major Type 1)
    0x20,
    // Parameters, byte string with single byte length
    0x58,  // Byte string length
    0x25,
    // IFX Digest info, array of 2 entries
    0x82,
    // Digest Algorithm
    0x18,
    // SHA-256
    0x29,
    // Digest
    0x58,
    // Byte string length
    0x20,
    // Digest data
    0xA0,
    0xAE,
    0xD2,
    0x75,
    0x75,
    0xB8,
    0x77,
    0xED,
    0x0F,
    0xEA,
    0xB6,
    0x3C,
    0x74,
    0x35,
    0x58,
    0xEA,
    0xE3,
    0xA2,
    0x26,
    0x4C,
    0x8C,
    0xEC,
    0xD5,
    0x8F,
    0x8F,
    0x4E,
    0x12,
    0xAD,
    0xA0,
    0xDB,
    0x73,
    0x9A,
    // NULL
    0xF6,
    // Trust Target
    0x82,
    // Component identifier
    0x40,
    // Storage identifier
    0x42,
    // Optiga target OID
    0xE0,
    0xE1,
    // Signature info, byte string of single byte length
    0x58,
    // Byte string length for ECC 256
    0x40,
    // Signature data
    0x8B,
    0x87,
    0xAE,
    0x23,
    0x11,
    0x4D,
    0x44,
    0xC4,
    0xE8,
    0x93,
    0xFA,
    0x70,
    0x99,
    0xD0,
    0x32,
    0xFE,
    0x70,
    0x9D,
    0xF9,
    0x7C,
    0x81,
    0x98,
    0x05,
    0x73,
    0xA9,
    0x61,
    0x8A,
    0x3D,
    0xD7,
    0xCE,
    0x8B,
    0xA4,
    0xC8,
    0xC2,
    0x70,
    0x19,
    0x8E,
    0x74,
    0xE8,
    0x58,
    0xDC,
    0x22,
    0x63,
    0x9E,
    0x38,
    0x52,
    0x8C,
    0x7D,
    0x95,
    0xE2,
    0x5E,
    0x28,
    0xC7,
    0x71,
    0xED,
    0xDF,
    0xFE,
    0x79,
    0xC4,
    0x62,
    0x77,
    0xB8,
    0xC6,
    0x5C

};

/**
 * Fragment array for continue with 608 bytes of payload and 32 bytes of digest of next fragment
 */
const uint8_t int_continue_fragment_array[] = {
    // Payload of 608 bytes
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    0x2E,
    0x2F,
    0x30,
    0x31,
    0x32,
    0x33,
    0x34,
    0x35,
    0x36,
    0x37,
    0x38,
    0x39,
    0x3A,
    0x3B,
    0x3C,
    0x3D,
    0x3E,
    0x3F,
    0x41,
    0x42,
    0x43,
    0x44,
    0x45,
    0x46,
    0x47,
    0x48,
    0x49,
    0x4A,
    0x4B,
    0x4C,
    0x4D,
    0x4E,
    0x4F,
    0x50,
    0x51,
    0x52,
    0x53,
    0x54,
    0x55,
    0x56,
    0x57,
    0x58,
    0x59,
    0x5A,
    0x5B,
    0x5C,
    0x5D,
    0x5E,
    0x5F,
    0x3B,
    0x0D,
    0x0A,
    0x21,
    0x40,
    0x22,
    0x23,
    0x24,
    0x25,
    0x26,
    0x27,
    0x28,
    0x29,
    0x2A,
    0x2B,
    0x2C,
    0x2D,
    // Digest of final fragment data
    0xDF,
    0x34,
    0x57,
    0x42,
    0xB8,
    0xB8,
    0xB3,
    0xC1,
    0x21,
    0xCC,
    0x4D,
    0x06,
    0x88,
    0x6F,
    0xFE,
    0x09,
    0x1F,
    0xBC,
    0xA0,
    0x07,
    0xD5,
    0xDA,
    0x81,
    0xB4,
    0x2D,
    0xDC,
    0xE0,
    0x50,
    0xCE,
    0xBA,
    0x1E,
    0x13};

/**
 * Fragment array for final with 50 bytes of payload
 */
const uint8_t int_final_fragment_array[] = {
    // Payload of 50 bytes
    0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A,
    0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
    0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
    0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x3B};

/**
 * @}
 */
